package com.ruoyi.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 著作
对象 work_patent
 * 
 * @author ruoyi
 * @date 2024-07-11
 */

@Data
public class WorkPatent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 专著名称 */
    @Excel(name = "专著名称")
    private String patentName;

    /** 所属单位 */
    @Excel(name = "所属单位")
    private Long affiliatedUnit;

    /** 出版时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出版时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publicationTime;

    /** 著作类别 */
    @Excel(name = "著作类别")
    private Long workCategory;

    /** 作者ID */
    @Excel(name = "作者ID")
    private Long authorId;

    /** 出版单位 */
    @Excel(name = "出版单位")
    private String publisher;

    /** 审核状态(0通过 1驳回) */
    @Excel(name = "审核状态(0通过 1驳回)")
    private Long auditStatus;

    /** 出版地(0国内 1国外) */
    @Excel(name = "出版地(0国内 1国外)")
    private Long placeOfPublication;

    /** 学科门类（1:社科类，2：科技类） */
    @Excel(name = "学科门类", readConverterExp = "1=:社科类，2：科技类")
    private Long subjectCategoryId;

    /** 一级学科 */
    @Excel(name = "一级学科")
    private String firstSubject;

    /** 项目来源 */
    @Excel(name = "项目来源")
    private String projectSource;

    /** 子表id */
    @Excel(name = "子表id")
    private Long patentWinnersId;

    /** 总字数 */
    @Excel(name = "总字数")
    private Long totalBlockCount;

    /** 是否译成外文(0是 1否) */
    @Excel(name = "是否译成外文(0是 1否)")
    private Long isCallForLanguage;

    /** 学校署名 */
    @Excel(name = "学校署名")
    private Long schoolSignature;

    /** 语种 */
    @Excel(name = "语种")
    private String language;

    /** ISBN号 */
    @Excel(name = "ISBN号")
    private Long isbnNumber;

    /** CIP号 */
    @Excel(name = "CIP号")
    private Long cipNumber;

    /** 出版社级别(0A类 1B类 2C类  3D类) */
    @Excel(name = "出版社级别(0A类 1B类 2C类  3D类)")
    private Long publisherLevel;

    /** 附件信息 */
    @Excel(name = "附件信息")
    private String filesUrl;

    /** 新增人id */
    @Excel(name = "新增人id")
    private Long dataAddUserId;

    /** 新增时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "新增时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dataAddDate;

    /** 校级审核人id */
    @Excel(name = "校级审核人id")
    private Long dataSchoolAuditUserId;

    /** 校级审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "校级审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dataSchoolAuditDate;

    /** 校级审核状态(0:未审核，1：校级通过，2:校级驳回) */
    @Excel(name = "校级审核状态(0:未审核，1：校级通过，2:校级驳回)")
    private Long dataSchoolAuditStatus;

    /** 院系审核人id */
    @Excel(name = "院系审核人id")
    private Long dataFacultyAuditUserId;

    /** 院系审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "院系审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dataFacultyAuditDate;

    /** 院系审核状态（0:未审核,1:院系通过,2:院系驳回,3:机构通过） */
    @Excel(name = "院系审核状态", readConverterExp = "0=:未审核,1:院系通过,2:院系驳回,3:机构通过")
    private Long dataFacultyAuditStatus;

    /** 著作完成人
信息 */
    private List<WorkPatentWinners> workPatentWinnersList;
    private Integer userId;
}
